With increased demands for communications, there are demands for improving the throughputs of switching equipment, such as layer 2 switches and routers, that is, the throughputs of transmission apparatuses that transmit packets. An improvement in scheduling functions for managing traffic by performing reading control on packets from queues has been proposed in order to enhance the throughputs.
For example, Japanese Laid-open Patent Publication No. 2001-223740 discloses a technique in which granularity is set based on statistical observation information in a deficit round robin (DRR) method. Japanese Laid-open Patent Publication No. 2005-33408 discloses a technique in which the band accuracy of an algorithm for maintaining band control is maintained when data is read from a queue selected by another algorithm.
Japanese Laid-open Patent Publication No. 2005-286383 discloses a technique in which scheduling is performed in units of fixed segment length for each queue in which packets are stored, to thereby reduce the access processing time for an external memory. U.S. Pat. No. 7,990,858 discloses, in a configuration in which an input controller and an output-band controller are connected through a fabric, the input controller outputs a packet to the output-band controller through the fabric, based on a credit obtained from the output-band controller by issuing a request.
When a next queue from which a packet is to be read is selected by scheduling each time one packet is read from a queue, the processing time permitted for the scheduling is restricted by the time for packet-reading processing. Thus, the processing time permitted for the scheduling depends on the length (that is, the amount of data) of a packet to be read, when the packet length is variable, such as an Ethernet (registered trademark) frame.
For example, when the communication speed is assumed to be 100 Gbps, the processing time permitted for the scheduling is about 121 ns for a packet having a length of 1500 bytes and is about 6.7 ns for a packet having a length of 64 bytes. That is, when short packets are sequentially read, the time permitted for the scheduling is limited to a relatively short time, thus involving high processing performance for the scheduling.
For example, when only short packets are read, the scheduling involves a processing speed of about 148.8 Mbps. The processing speed is further increased when a complicated algorithm is used for the scheduling.
In contrast, when the reading processing is performed for each predetermined amount of data, not for each packet, one or more packets can be handled as bursty traffic and can be sequentially read. Thus, the restriction on the time permitted for the scheduling is alleviated. For example, when the reading processing is performed on a 500-byte basis, eight packets each having a length of 64 bytes can be sequentially read, and thus the processing time permitted for the scheduling is about 53.6 (ns) (=about 6.7 (ns)×8).
In this case, however, since one packet is not divided for reading, part of data in packets is read as an excess amount that exceeds the aforementioned predetermined amount of data. Since the excess amount of data varies depending on the packet length, there is a problem in that bandwidths of queues become unfair. For example, since an Ethernet frame has a variable length of 64 to 1518 bytes, the excess amount of data varies in the range of up to 63 to 1517 bytes.
In the case described above, since no packets are read until the amount of data accumulated in a queue exceeds a predetermined amount of data. Thus, when short packets are input to a queue at a low rate, there is a problem in that the amount of packet delay increases. For example, in a Voice over Internet Protocol (VoIP), packets containing audio data are short packets in many cases, which may cause trouble to phone calls. Such a problem is not limited to Ethernet frames, and also occurs with other packets, such as internet protocol (IP) packets.
Japanese Laid-open Patent Publication Nos. 2001-223740, 2005-33408, 2005-286383, and U.S. Pat. No. 7,990,858 are examples of related arts.